// pages/category/index.js
import {request} from "../../request/request.js"
Page({

  /**
   * 页面的初始数据
   */
  data: {
    categories:[],//分类数据
    rightContent:[],//右侧菜单数据
    selectIndex:0,//默认选中第一个分类
    scroll_top:0 //滚动条的位置
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },
  // 点击左边标题栏
  handleItemClick:function(e){
    // 获取当前标题所在的行数
    const index = e.currentTarget.dataset.index;
    // 设置右边栏 滚动条的位置 默认在顶部 值为0
    const scroll_top = 0;
    // 设置当前点击所在的行数以及右边栏的内容
    this.setData({
      rightContent:this.data.categories[index].children,
      selectIndex:index,
      scroll_top
    })
  },
  getCategories:async function(){
    const categories = await request({
      url:"/categories"
    })
    const rightContent = categories[0].children;
    const selectIndex = 0;
    // 存储到缓存里面
    wx.setStorageSync("cate",{
      time:Date.now(),
      data:categories
    })
    this.setData({
      categories,
      rightContent,
      selectIndex
    })
    console.log(categories)
  },
  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    let cate = wx.getStorageSync('cate');
    if(!cate){
      // 缓存中没有数据，则重新缓存
      this.getCategories();
    }else{
      //缓存中有数据，则判断时间是否过期 1小时
      if(Date.now()-cate.time >1000 * 60 * 60 ){
        // 过期了，则重新缓存
        this.getCategories();
      }else{
        // 没过期
        let categories = cate.data;
        const rightContent = categories[0].children;
        const selectIndex = 0;
        this.setData({
          categories,rightContent,selectIndex
        })
      }
    }
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})